home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / u_man / cat1 / Performer_demo / cfly.z / cfly
Encoding:
Text File  |  2002-10-03  |  10.4 KB  |  265 lines

  1.  
  2.  
  3.  
  4. ccccffffllllyyyy((((3333ppppffff))))            OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....5555 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss            ccccffffllllyyyy((((3333ppppffff))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ccccffffllllyyyy - OpenGL Performer scene viewer for PC clusters
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ccccffffllllyyyy [ options ] file ...
  13.  
  14.      rrrruuuunnnn____aaaallllllll____ccccffffllllyyyy [ options ] file ...
  15.  
  16.      rrrruuuunnnn____ccccffffllllyyyy daemon_hostname [ options ] file ...
  17.  
  18. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.      ccccffffllllyyyy is one of the sample programs distributed with the OpenGL Performer
  20.      high-performance graphics library.  ccccffffllllyyyy is an implementation of ppppeeeerrrrffffllllyyyy
  21.      for SGI PC-clusters.  ccccffffllllyyyy treats each PC screen in the cluster as a
  22.      graphic pipe on a multi-pipe SGI workstation.
  23.  
  24.      ccccffffllllyyyy brings up a window (or full screen) on each cluster console. By
  25.      default, it breaks the field of view horizontally starting the leftmost
  26.      portion on the first cluster host and advancing towards the right.  All
  27.      program events are read on the first host. In other words, you can only
  28.      control cfly (GUI, mouse events, keyboard events) from the leftmost
  29.      console.
  30.  
  31.      ccccffffllllyyyy is a sample implementation demonstrating how to use the DDDDaaaattttaaaaSSSSyyyynnnncccc API
  32.      for writing multi-screen cluster applications.  The DDDDaaaattttaaaaSSSSyyyynnnncccc daemon
  33.      ddddssssyyyynnnnccccdddd must be running on one of the cluster nodes before starting ccccffffllllyyyy.
  34.  
  35.  
  36.    SSSSttttaaaarrrrttttiiiinnnngggg ccccffffllllyyyy
  37.      For the sake of the discussion, we assume the master node of the cluster
  38.      is mmmmaaaasssstttteeeerrrr----cccchhhhaaaannnnnnnneeeellll.
  39.  
  40.      Each one of the cluster nodes runs an identical copy of the program cfly.
  41.      You can either run cfly manually on each node, or use a script that runs
  42.      them from a single node. The following section demonstrates each one of
  43.      these operation modes using the data file: town_ogl.pfb.
  44.  
  45.      If you wish to run each node separately, enter (on each node):
  46.  
  47.  
  48.               % setenv PFSERVER master-channel
  49.               % cfly town_ogl.pfb
  50.  
  51.  
  52.  
  53.      Start at the leftmost node and advance to the right. As new nodes start,
  54.      cfly breaks the viewer field of view among all the available nodes from
  55.      left to right in the order that they were activated.
  56.  
  57.      If you wish to start cfly from a single node, first make sure all nodes
  58.      have logged in and executed
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ccccffffllllyyyy((((3333ppppffff))))            OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....5555 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss            ccccffffllllyyyy((((3333ppppffff))))
  71.  
  72.  
  73.  
  74.               % xhost +
  75.  
  76.  
  77.  
  78.      Start cfly using the provided script on the node master-channel:
  79.  
  80.  
  81.               % run_all_cfly town_ogl.pfb
  82.  
  83.  
  84.  
  85.      rrrruuuunnnn____aaaallllllll____ccccffffllllyyyy start up ImageSync video synchronization, brings up a remote
  86.      shell on each on each cluster node and runs a script for setting
  87.      environment variables and running cfly.  Here is the contents of the
  88.      script rrrruuuunnnn____aaaallllllll____ccccffffllllyyyy:
  89.  
  90.  
  91.               #!/bin/csh
  92.  
  93.               # start ImageSync.
  94.               /usr/share/ImageSync/bin/imagesync -v
  95.  
  96.               # Start cfly application on all channels listed in /etc/channel_list
  97.               # Channels should be listed from left to right to ensure correct
  98.               # breakup of the cfly field of view.
  99.               set list=`cat /etc/channel_list`
  100.  
  101.               # assume DataSync server runs on master node (this host)
  102.               set server=`hostname`
  103.  
  104.               set c=0
  105.               set i=2
  106.  
  107.               while ( $c <  $list[1] )
  108.                 rsh $list[$i] /usr/bin/X11/run_cfly $server $* &
  109.  
  110.                 @ c = ($c + 1)
  111.                 @ i = ($i + 1)
  112.                 sleep 3
  113.               end
  114.  
  115.  
  116.  
  117.      The script rrrruuuunnnn____ccccffffllllyyyy reads:
  118.  
  119.  
  120.               #!/bin/csh
  121.  
  122.               setenv PFSERVER $1
  123.               setenv DISPLAY :0
  124.               setenv __GL_SYNC_TO_VBLANK 1
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ccccffffllllyyyy((((3333ppppffff))))            OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....5555 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss            ccccffffllllyyyy((((3333ppppffff))))
  137.  
  138.  
  139.  
  140.               shift
  141.               /usr/bin/X11/cfly $*
  142.  
  143.  
  144.  
  145.      Note that rrrruuuunnnn____aaaallllllll____ccccffffllllyyyy uses /etc/channel_list for a list of channels
  146.      ordered from left to right. If you change the host names of your cluster
  147.      nodes, you have to update /etc/channel_list.
  148.  
  149.      You can also use the script rrrruuuunnnn____ccccffffllllyyyy in order to start ccccffffllllyyyy on a single
  150.      node. rrrruuuunnnn____ccccffffllllyyyy expects the DDDDaaaattttaaaaSSSSyyyynnnncccc daemon node hostname as its first
  151.      parameter. In addition to running ccccffffllllyyyy, rrrruuuunnnn____ccccffffllllyyyy also makes OpenGL
  152.      Performer synchronize its rendering frames to the graphic hardware video
  153.      frames.
  154.  
  155.  
  156.    UUUUsssseeeerrrr ccccoooonnnnttttrrrroooollllssss,,,, ccccoooommmmmmmmaaaannnndddd lllliiiinnnneeee ooooppppttttiiiioooonnnnssss
  157.      ccccffffllllyyyy is an adaptation of the ppppeeeerrrrffffllllyyyy source code. Almost all user control
  158.      is identical to that of ppppeeeerrrrffffllllyyyy. See manual page for ppppeeeerrrrffffllllyyyy for details.
  159.  
  160.      ccccffffllllyyyy has one new parameter to the perfly command line flag ----HHHH.  This flag
  161.      now takes four parameters (instead of three):
  162.      hhhhoooorrrriiiizzzz____ffffoooovvvv,vvvveeeerrrrtttt____ffffoooovvvv,hhhh____ooooffffffffsssseeeetttt,vvvv____ooooffffffffsssseeeetttt.  They set custom field-of-view and
  163.      viewing offset in the horizontal and vertical directions.  This option is
  164.      useful for overriding the automatic projection parameter setting of ccccffffllllyyyy.
  165.  
  166.  
  167.    PPPPaaaacccckkkkaaaaggggeeee ddddeeeeppppeeeennnnddddeeeennnncccciiiieeeessss
  168.      ccccffffllllyyyy uses DataSync (libds).
  169.  
  170.  
  171.    TTTTrrrroooouuuubbbblllleeee SSSShhhhoooooooottttiiiinnnngggg
  172.      CCCChhhhaaaannnnnnnneeeellllssss ccccoooommmmeeee uuuupppp wwwwiiiitttthhhh wwwwrrrroooonnnngggg hhhhoooorrrriiiizzzzoooonnnnttttaaaallll ooooffffffffsssseeeettttssss....
  173.  
  174.      The channels listed in /etc/channel_list may be out of order. They should
  175.      be ordered from left to right.
  176.  
  177.      CCCChhhhaaaannnnnnnneeeellllssss ddddoooo nnnnooootttt ssssttttaaaarrrrtttt aaaatttt aaaallllllll
  178.  
  179.      Verify that the DDDDaaaattttaaaaSSSSyyyynnnncccc daemon (ddddssssyyyynnnnccccdddd) is running on the same node
  180.      where you started rrrruuuunnnn____aaaallllllll____ccccffffllllyyyy (for best load-balancing, ddddssssyyyynnnnccccdddd should
  181.      run on the master channel).
  182.  
  183.      Verify that all channel nodes have xhost enabled.
  184.  
  185.  
  186. NNNNOOOOTTTTEEEESSSS
  187.    LLLLeeeeaaaarrrrnnnniiiinnnngggg MMMMoooorrrreeee
  188.      Once you've seen OpenGL Performer in action, you will want to learn more
  189.      about it.  The OpenGL Performer Programming Guide and the OpenGL
  190.      Performer Release Notes are the primary sources of information, but the a
  191.      number of information sources are available to give you a good start in
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ccccffffllllyyyy((((3333ppppffff))))            OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....5555 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss            ccccffffllllyyyy((((3333ppppffff))))
  203.  
  204.  
  205.  
  206.      your learning process. The origin of this quest is the Performer man
  207.      page. Just type "man performer" and just about everything you might want
  208.      to know will be there or in one of the on-line resources listed there.
  209.  
  210.  
  211. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  212.      ppppeeeerrrrffffllllyyyy, ppppeeeerrrrffffoooorrrrmmmmeeeerrrr, ddddssssSSSSeeeerrrrvvvveeeerrrr, ddddssssSSSSeeeessssssssiiiioooonnnn, xxxxhhhhoooosssstttt
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.